package com.piggy.logi.sys.bo;

import com.piggy.common.core.web.domain.BaseTenantEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import javax.validation.constraints.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 线路站点管理编辑对象 logi_line_station
 *
 * @author piggy
 * @date 2023-08-14
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel("线路站点管理编辑对象")
public class LogiLineStationEditBo extends BaseTenantEntity {


    /** 主键 */
    @ApiModelProperty("主键")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /** 线路id */
    @ApiModelProperty("线路id")
    @NotNull(message = "线路id不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long lineId;

    /** 0 起点 1 中间节点 2 终点 */
    @ApiModelProperty("0 起点 1 中间节点 2 终点")
    @NotBlank(message = "0 起点 1 中间节点 2 终点不能为空")
    private String stationFlag;

    /** 网点部门id */
    @ApiModelProperty("网点部门id")
    @NotNull(message = "网点部门id不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long branchDeptId;

    /** 网点分流人员 */
    @ApiModelProperty("网点分流人员")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long branchUserId;

    /** KM */
    @ApiModelProperty("KM")
    private BigDecimal stationMile;

    /** 时效分钟 */
    @ApiModelProperty("时效分钟")
    private Integer stationTime;

    /** 调度范围 */
    @ApiModelProperty("调度范围")
    private Integer dispatchDistance;

    /** 序号 */
    @ApiModelProperty("序号")
    @NotNull(message = "序号不能为空")
    private Integer sort;

    /** 1 启用 0 停用 */
    @ApiModelProperty("0 启用 1 停用")
    private String status;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remark;
}
